Update: 13 April, 2021 (T. French)
Respondents: Â (n=44)
Clustering was used as a simple unsupervised learning technique seeking to cluster caregivers into homogeneous or similar subgroups (4) based on a combination of Personalysis dimension and color response scores.
|
|
Like to: Take immediate action Implement Focus on goals Execute |
|
|
Should: Independent Assertive Direct Produce |
|
|
Must have: Clear goal Personal experience Ability to initiate action WHAT? WHEN? |
|
|
Like to Diagnose Coach/Consult Develop solutions Strategize |
|
|
Should: Knowledgeable Understanding Question Explain |
|
|
Must have: Rationale/Context Clarity Ability to contemplate WHY? WHAT IF? |
|
|
Like to: Structure Monitor Prioritize work Control |
|
|
Should: Responsible Consistent Comply Regulate |
|
|
Must have: History of reliability Data and details Ability to prove HOW? WHERE? |
|
|
Like to: Facilitate Include Actively support others Participate |
|
|
Should: Responsive Diplomatic Involve Observe |
|
|
Must have: Group support Flexibility Ability to influence others WHO? WHAT ELSE? |
Below are 3 dimensional team views of all CA caregivers with specific individuals called out within selected teams. All caregivers are clustered as well into 3 homogeneous groups.
|
|
Expedite - Red is motivated to: Initiate action Stay moving Focus on tasks and tangible outcomes |
Clusters:
|
|
Explore - Blue is motivated to: Anticipate the future Create clarity Focus on context, purpose, and potential impacts |
Clusters:
|
|
Organize - Green is motivated to: Maintain stability and organization Focus on details, structure and predictability |
Clusters:
|
|
Collaborate - Yellow is motivated to: Adapt and be flexible Focus on people and possibilities |
Clusters:
|
|
Expedite - Red is motivated to: Initiate action Stay moving Focus on tasks and tangible outcomes |
Clusters:
|
|
Explore -Blue is motivated to: Anticipate the future Create clarity Focus on context, purpose, and potential impacts |
Clusters:
|
|
Organize -Green is motivated to: Maintain stability and organization Focus on details, structure and predictability |
Clusters:
|
|
Collaborate - Yellow is motivated to: Adapt and be flexible Focus on people and possibilities |
Clusters:
|
|
Expedite - Red is motivated to: Initiate action Stay moving Focus on tasks and tangible outcomes |
Clusters:
|
|
Explore -Blue is motivated to: Anticipate the future Create clarity Focus on context, purpose, and potential impacts |
Clusters:
|
|
Organize -Green is motivated to: Maintain stability and organization Focus on details, structure and predictability |
Clusters:
|
|
Collaborate - Yellow is motivated to: Adapt and be flexible Focus on people and possibilities |
Clusters:
Respondents: Andrew Bennett, Ari Robicsek, Ashley Snoddy, Caleb Stowell, Firouzeh Manucheri, Ford Parsons, Gino Conconi, Jacob Lippa, Jacob VanderKam, Jessica Swann, Keyana Azari, Laurel Kirby, Linda Doan-Huynh, Lizbeth McNeil, Said Sariolghalam, Sarah Nurse, Susan Hermanto, Susan Pollock, Thomas French, Vandana Kapoor  (n=20)
|
|
Expedite - Red is motivated to: Initiate action Stay moving Focus on tasks and tangible outcomes |
# Generate 3D plot w legend and text for a given the_colorand team
#--- parameters
#the_color= 'r'
#the_team = 'Adv_analytics'
set.seed(123)
#Personalysis <- read_excel("Data/Personalysis.xlsx")
personalysis_3d <- Personalysis %>% filter(!is.na(r1)) %>% arrange(Name)
personalysis_3d$Name_abbr <- substr(personalysis_3d$Name, 1, unlist(lapply(gregexpr(pattern = ' ', personalysis_3d$Name), min)) +1)
# Create columns for each team with values 0 or 1 as membership
Team <- data.frame(Group=c("Executive", "Adv_analytics", "CaOps_Dat_AdvA", "Viz_Analytic_Consultants","Prod_Owners_Mgrs"))
Team$Name <- list(c("Thomas French", "Gino Conconi", "Caleb Stowell", "Firouzeh Manucheri", "Ari Robicsek"),
c("Thomas French", "Chuck Laurenson", "Bradley Roberts"),
c("Thomas French","Susan Pollock","Jessica Swann","Vandana Kapoor"),
c("Ngoc Salvatierra","Chris Kim","Rocky Ramos","Harry Wolberg","Troy Hanninen","Pete Firth","Kuan Ju Liu"),
c("Andy Bennett","Jake Vanderkam","Ashley Snoddy","Sarah Nurse","Jodi Brekhus","Susan Hermanto","Laurel Kirby","Said Sarioghalam","Keyana Azari","Jessica Swann","Jacob Lippa"))
personalysis_3d <- personalysis_3d %>%
mutate( Executive = ifelse(Name %in% unlist(Team$Name[Team$Group=="Executive"]), 1,0),
Adv_analytics = ifelse(Name %in% unlist(Team$Name[Team$Group=="Adv_analytics"]), 1,0),
CaOps_Dat_AdvA = ifelse(Name %in% unlist(Team$Name[Team$Group=="CaOps_Dat_AdvA"]), 1,0),
Viz_Analytic_Consultants= ifelse(Name %in% unlist(Team$Name[Team$Group=="Viz_Analytic_Consultants"]), 1,0),
Prod_Owners_Mgrs= ifelse(Name %in% unlist(Team$Name[Team$Group=="Prod_Owners_Mgrs"]), 1,0))
Executive_label <- ifelse(personalysis_3d$Executive== 1,personalysis_3d$Name_abbr,'')
Adv_analytics_label <- ifelse(personalysis_3d$Adv_analytics== 1,personalysis_3d$Name_abbr,'')
CaOps_Dat_AdvA_label<- ifelse(personalysis_3d$CaOps_Dat_AdvA== 1,personalysis_3d$Name_abbr,'')
Viz_Analytic_Consultants_label<- ifelse(personalysis_3d$Viz_Analytic_Consultants== 1,personalysis_3d$Name_abbr,'')
Prod_Owners_Mgrs_label<- ifelse(personalysis_3d$Prod_Owners_Mgrs== 1,personalysis_3d$Name_abbr,'')
Executive_ndx <- which(personalysis_3d$Executive == 1)
Adv_analytics_ndx <- which(personalysis_3d$Adv_analytics == 1)
CaOps_Dat_AdvA_ndx <- which(personalysis_3d$CaOps_Dat_AdvA == 1)
Viz_Analytic_Consultants_ndx <- which(personalysis_3d$Viz_Analytic_Consultants== 1)
Prod_Owners_Mgrs_ndx <- which(personalysis_3d$Prod_Owners_Mgrs== 1)
Executive_ndx2 <- lag(Executive_ndx); Executive_ndx2[1]= Executive_ndx[length(Executive_ndx)]
Adv_analytics_ndx2 <- lag(Adv_analytics_ndx); Adv_analytics_ndx2[1]= Adv_analytics_ndx[length(Adv_analytics_ndx)]
CaOps_Dat_AdvA_ndx2<- lag(CaOps_Dat_AdvA_ndx); CaOps_Dat_AdvA_ndx2[1]= CaOps_Dat_AdvA_ndx[length(CaOps_Dat_AdvA_ndx)]
Viz_Analytic_Consultants_ndx2<- lag(Viz_Analytic_Consultants_ndx); Viz_Analytic_Consultants_ndx2[1]= Viz_Analytic_Consultants_ndx[length(Viz_Analytic_Consultants_ndx)]
Prod_Owners_Mgrs_ndx2<- lag(Prod_Owners_Mgrs_ndx); Prod_Owners_Mgrs_ndx2[1]= Prod_Owners_Mgrs_ndx[length(Prod_Owners_Mgrs_ndx)]
the_image_path = 'Users/tfrench/Desktop/R projects/Personalysis/images'
if( the_color=='r') {the_matrix <- as.matrix(subset(personalysis_3d, select = c(r1, r2, r3)))} # Subset data by specified the_color, as matrix
if( the_color=='b') {the_matrix <- as.matrix(subset(personalysis_3d, select = c(b1, b2, b3)))}
if( the_color=='g') {the_matrix <- as.matrix(subset(personalysis_3d, select = c(g1, g2, g3)))}
if( the_color=='y') {the_matrix <- as.matrix(subset(personalysis_3d, select = c(y1, y2, y3)))}
colnames(the_matrix) <- c("Like (Contribute)", " Should (Connect)", " Must (Commit)") # 3D plot vertex labels
the_colors <- kmeans(the_matrix, centers=3, nstart = 25)$cluster # Assign colors to each point based on clustered value (3)
the_colors <- ifelse(the_colors==1,'#0CF4F0',ifelse(the_colors==2,'#AE7FFF', ifelse(the_colors==3,'#FF9F7F','yellow')))
the_lgnd_img<-ifelse(the_color=='r', 'r1r2r3b0b0b0g0g0g0y0y0y0.png', # Legend image for specified color
ifelse(the_color=='b', 'r0r0r0b1b2b3g0g0g0y0y0y0.png',
ifelse(the_color=='g', 'r0r0r0b0b0b0g1g2g3y0y0y0.png',
'r0r0r0b0b0b0g0g0g0y1y2y3.png')))
the_html <- paste0('\n')
the_html <- paste0(the_html, '<table><tr><td width = "235"> </td>' )
the_html2 <- ifelse(the_color=='r', paste0('<td><B> <span style="color:darkred;">',
'Expedite - Red </span>is motivated to</B>:<BR>Initiate action <BR> Stay moving <BR> Focus on tasks and tangible outcomes'),
ifelse(the_color=='b', paste0('<td><B> <span style="color:blue;">',
'Explore - Blue </span>is motivated to</B>:<BR>Anticipate the future <BR> Create clarity <BR> Focus on context, purpose, and potential impacts'),
ifelse(the_color=='g', paste0('<td><B> <span style="color:darkgreen;">',
' Organize - Green</span> is motivated to</B>:<BR> Maintain stability and organization <BR> Focus on details, structure and predictability'),
ifelse(the_color=='y', paste0('<td><B> <span style="color:goldenrod;">',
'Collaborate - Yellow</span> is motivated to</B>:<BR> Adapt and be flexible <BR> Focus on people and possibilities')))))
the_html <- paste0(the_html, the_html2, '</td></tr> </table> \n \n ' )
eval(parse(text = paste0('the_label = ', the_team, '_label'))) # the_label: 3d Plot point labels for team members only, others are blank
eval(parse(text = paste0('lines3d_ndx1 = ', the_team, '_ndx'))) # lines3d_ndx1: 1st of paired coords. for connecting points w line on 3d plot
eval(parse(text = paste0('lines3d_ndx2 = ', the_team, '_ndx2'))) #lines3d_ndx2: 2nd of paired coords. for connecting points w line on 3d plot
cat('\n')cat(the_html)|
|
Expedite - Red is motivated to: Initiate action Stay moving Focus on tasks and tangible outcomes |
cat(' \n')scatterplot3js(the_matrix,
# bg = "#000000", grid = TRUE, pch = "o", stroke = "gray", size=1,
bg = "#FFFFFF", grid = TRUE, pch = "o", stroke = "gray", size=1,
xlim=c(0,6), ylim=c(0,6), zlim=c(0,6), flip.y = FALSE,
color=c( the_colors)) %>%
# points3d(vertices(.), color="white", pch = the_label, size=.20) %>%
points3d(vertices(.), color="black", pch = the_label, size=.20) %>%
# lines3d(c(lines3d_ndx1),c(lines3d_ndx2), col = "gray", lwd = 1)
lines3d(c(lines3d_ndx1),c(lines3d_ndx2), col = "black", lwd = 3)cat(' \n')cat('Clusters: ')Clusters:
# Generate 3D plot w legend and text for a given the_colorand team
#--- parameters
#the_color= 'r'
#the_team = 'Adv_analytics'
set.seed(123)
#Personalysis <- read_excel("Data/Personalysis.xlsx")
personalysis_3d <- Personalysis %>% filter(!is.na(r1)) %>% arrange(Name)
personalysis_3d$Name_abbr <- substr(personalysis_3d$Name, 1, unlist(lapply(gregexpr(pattern = ' ', personalysis_3d$Name), min)) +1)
# Create columns for each team with values 0 or 1 as membership
Team <- data.frame(Group=c("Executive", "Adv_analytics", "CaOps_Dat_AdvA", "Viz_Analytic_Consultants","Prod_Owners_Mgrs"))
Team$Name <- list(c("Thomas French", "Gino Conconi", "Caleb Stowell", "Firouzeh Manucheri", "Ari Robicsek"),
c("Thomas French", "Chuck Laurenson", "Bradley Roberts"),
c("Thomas French","Susan Pollock","Jessica Swann","Vandana Kapoor"),
c("Ngoc Salvatierra","Chris Kim","Rocky Ramos","Harry Wolberg","Troy Hanninen","Pete Firth","Kuan Ju Liu"),
c("Andy Bennett","Jake Vanderkam","Ashley Snoddy","Sarah Nurse","Jodi Brekhus","Susan Hermanto","Laurel Kirby","Said Sarioghalam","Keyana Azari","Jessica Swann","Jacob Lippa"))
personalysis_3d <- personalysis_3d %>%
mutate( Executive = ifelse(Name %in% unlist(Team$Name[Team$Group=="Executive"]), 1,0),
Adv_analytics = ifelse(Name %in% unlist(Team$Name[Team$Group=="Adv_analytics"]), 1,0),
CaOps_Dat_AdvA = ifelse(Name %in% unlist(Team$Name[Team$Group=="CaOps_Dat_AdvA"]), 1,0),
Viz_Analytic_Consultants= ifelse(Name %in% unlist(Team$Name[Team$Group=="Viz_Analytic_Consultants"]), 1,0),
Prod_Owners_Mgrs= ifelse(Name %in% unlist(Team$Name[Team$Group=="Prod_Owners_Mgrs"]), 1,0))
Executive_label <- ifelse(personalysis_3d$Executive== 1,personalysis_3d$Name_abbr,'')
Adv_analytics_label <- ifelse(personalysis_3d$Adv_analytics== 1,personalysis_3d$Name_abbr,'')
CaOps_Dat_AdvA_label<- ifelse(personalysis_3d$CaOps_Dat_AdvA== 1,personalysis_3d$Name_abbr,'')
Viz_Analytic_Consultants_label<- ifelse(personalysis_3d$Viz_Analytic_Consultants== 1,personalysis_3d$Name_abbr,'')
Prod_Owners_Mgrs_label<- ifelse(personalysis_3d$Prod_Owners_Mgrs== 1,personalysis_3d$Name_abbr,'')
Executive_ndx <- which(personalysis_3d$Executive == 1)
Adv_analytics_ndx <- which(personalysis_3d$Adv_analytics == 1)
CaOps_Dat_AdvA_ndx <- which(personalysis_3d$CaOps_Dat_AdvA == 1)
Viz_Analytic_Consultants_ndx <- which(personalysis_3d$Viz_Analytic_Consultants== 1)
Prod_Owners_Mgrs_ndx <- which(personalysis_3d$Prod_Owners_Mgrs== 1)
Executive_ndx2 <- lag(Executive_ndx); Executive_ndx2[1]= Executive_ndx[length(Executive_ndx)]
Adv_analytics_ndx2 <- lag(Adv_analytics_ndx); Adv_analytics_ndx2[1]= Adv_analytics_ndx[length(Adv_analytics_ndx)]
CaOps_Dat_AdvA_ndx2<- lag(CaOps_Dat_AdvA_ndx); CaOps_Dat_AdvA_ndx2[1]= CaOps_Dat_AdvA_ndx[length(CaOps_Dat_AdvA_ndx)]
Viz_Analytic_Consultants_ndx2<- lag(Viz_Analytic_Consultants_ndx); Viz_Analytic_Consultants_ndx2[1]= Viz_Analytic_Consultants_ndx[length(Viz_Analytic_Consultants_ndx)]
Prod_Owners_Mgrs_ndx2<- lag(Prod_Owners_Mgrs_ndx); Prod_Owners_Mgrs_ndx2[1]= Prod_Owners_Mgrs_ndx[length(Prod_Owners_Mgrs_ndx)]
the_image_path = 'Users/tfrench/Desktop/R projects/Personalysis/images'
if( the_color=='r') {the_matrix <- as.matrix(subset(personalysis_3d, select = c(r1, r2, r3)))} # Subset data by specified the_color, as matrix
if( the_color=='b') {the_matrix <- as.matrix(subset(personalysis_3d, select = c(b1, b2, b3)))}
if( the_color=='g') {the_matrix <- as.matrix(subset(personalysis_3d, select = c(g1, g2, g3)))}
if( the_color=='y') {the_matrix <- as.matrix(subset(personalysis_3d, select = c(y1, y2, y3)))}
colnames(the_matrix) <- c("Like (Contribute)", " Should (Connect)", " Must (Commit)") # 3D plot vertex labels
the_colors <- kmeans(the_matrix, centers=3, nstart = 25)$cluster # Assign colors to each point based on clustered value (3)
the_colors <- ifelse(the_colors==1,'#0CF4F0',ifelse(the_colors==2,'#AE7FFF', ifelse(the_colors==3,'#FF9F7F','yellow')))
the_lgnd_img<-ifelse(the_color=='r', 'r1r2r3b0b0b0g0g0g0y0y0y0.png', # Legend image for specified color
ifelse(the_color=='b', 'r0r0r0b1b2b3g0g0g0y0y0y0.png',
ifelse(the_color=='g', 'r0r0r0b0b0b0g1g2g3y0y0y0.png',
'r0r0r0b0b0b0g0g0g0y1y2y3.png')))
the_html <- paste0('\n')
the_html <- paste0(the_html, '<table><tr><td width = "235"> </td>' )
the_html2 <- ifelse(the_color=='r', paste0('<td><B> <span style="color:darkred;">',
'Expedite - Red </span>is motivated to</B>:<BR>Initiate action <BR> Stay moving <BR> Focus on tasks and tangible outcomes'),
ifelse(the_color=='b', paste0('<td><B> <span style="color:blue;">',
'Explore - Blue </span>is motivated to</B>:<BR>Anticipate the future <BR> Create clarity <BR> Focus on context, purpose, and potential impacts'),
ifelse(the_color=='g', paste0('<td><B> <span style="color:darkgreen;">',
' Organize - Green</span> is motivated to</B>:<BR> Maintain stability and organization <BR> Focus on details, structure and predictability'),
ifelse(the_color=='y', paste0('<td><B> <span style="color:goldenrod;">',
'Collaborate - Yellow</span> is motivated to</B>:<BR> Adapt and be flexible <BR> Focus on people and possibilities')))))
the_html <- paste0(the_html, the_html2, '</td></tr> </table> \n \n ' )
eval(parse(text = paste0('the_label = ', the_team, '_label'))) # the_label: 3d Plot point labels for team members only, others are blank
eval(parse(text = paste0('lines3d_ndx1 = ', the_team, '_ndx'))) # lines3d_ndx1: 1st of paired coords. for connecting points w line on 3d plot
eval(parse(text = paste0('lines3d_ndx2 = ', the_team, '_ndx2'))) #lines3d_ndx2: 2nd of paired coords. for connecting points w line on 3d plot
cat('\n')cat(the_html)|
|
Organize - Green is motivated to: Maintain stability and organization Focus on details, structure and predictability |
cat(' \n')scatterplot3js(the_matrix,
# bg = "#000000", grid = TRUE, pch = "o", stroke = "gray", size=1,
bg = "#FFFFFF", grid = TRUE, pch = "o", stroke = "gray", size=1,
xlim=c(0,6), ylim=c(0,6), zlim=c(0,6), flip.y = FALSE,
color=c( the_colors)) %>%
# points3d(vertices(.), color="white", pch = the_label, size=.20) %>%
points3d(vertices(.), color="black", pch = the_label, size=.20) %>%
# lines3d(c(lines3d_ndx1),c(lines3d_ndx2), col = "gray", lwd = 1)
lines3d(c(lines3d_ndx1),c(lines3d_ndx2), col = "black", lwd = 3)cat(' \n')cat('Clusters: ')Clusters: